TextSnapshot.setSelected()

Доступность

Среда разработки: Flash MX 2004.

Плеер: SWF файлы, опубликованные для Flash Player 6 или более поздних версий, проигрываются во Flash Player 7 и более поздних.

Синтаксис

my_snap.setSelected(from:Number, to:Number, select:Boolean) : Void

Параметры

from An integer that indicates the position of the first character of my_snap to select. Допустимыми значениями для параметра from are 0 through TextSnapshot.getCount() - 1. If from is a negative value, 0 is used.

to An integer that is 1+ the index of the last character in my_snap to be examined. Допустимыми значениями для параметра to are 0 through TextSnapshot.getCount(). The character indexed by the to parameter is not included in the extracted string. If this parameter is omitted, TextSnapshot.getCount() is used. If this value is less than or equal to the value of from, from+1 is used.

select A Boolean value that specifies whether the text should be selected (true) or deselected (false).

Возвращает

Ничего.

Описание

Метод; определяет интервал символов в тексте объекта TextSnapshot, который будет выбран или с которого будет снято выделение. Выбранные символы выделяются цветными прямоугольниками по контуру текстового поля. Цвет определяется свойством TextSnapshot.setSelectColor().

Для проверки всех символов, передайте величину 0 параметру from и TextSnapshot.getCount() (или любое большее число) параметру  to. Для проверки одного символа, передайте значение, равное значению параметра from+1 параметру to.

Так как символы помечаются как выделенные независимо друг от друга, вы можете использовать этот метод несколько раз и выбрать несколько символов, то есть при использовании этого метода с символов, уже выделенные при помощи этого метода ранее, выделение не снимается.

Символы выделяются только если используются шрифты, имеющие метрические данные о символах ; по умолчанию, Flash не включает эту информацию для статических полей. В некоторых случаях из-за этого метод возвращает -1 вместо индекса. Чтобы убедиться, что возвращаться будет индекс, вы можете принудительно включить метрические данные о шрифте в среде разработки. Для этого добавьте на Сцену текстовое поле, использующее этот же шрифт, выберите опцию Character Options и укажите, что в ролик должен быть внедрен один символ. Не важно, какой именно символ(ы) вы выберите, даже если это будет символ, не используемый в статическом текстовом поле.

Пример

Код в нижеследующем примере показывает, как пользоваться данным методом. Перед использованием этого кода, разместите на Сцене статическое текстовое поле с текстом “TextSnapshot Example”.

Замечание: Если вы не видите рамки вокруг выделенных символов, вам необходимо разместить на Сцене динамическое текстовое поле и произвести ряд действий. Смотри пункт “Описание” в этом разделе.

// В этом примере предполагается, что мувиклип содержит
// статическое текстовое поле с текстом "TextSnapshot Example"
var my_snap:TextSnapshot = this.getTextSnapshot();
var count:Number = my_snap.getCount();
my_snap.setSelectColor(0xFF0000); // Делаем цвет обрамляющего прямоугольника красным
my_snap.setSelected(0, 4, true); // Выбираем первые четыре символа
my_snap.setSelected(1, 2, false); // Снимаем выделение со второго (оставляя остальные выделенными).

var firstCharIsSelected:Boolean = my_snap.getSelected(0, 1);
var secondCharIsSelected:Boolean = my_snap.getSelected(1, 2);
var theText:String = my_snap.getSelectedText(false); // узнаем, какой текст выделен
trace(theText); // выводит: Txt
trace(firstCharIsSelected); // выводит: true
trace(secondCharIsSelected); // выводит: false